package modlemgooglesvn.modlem_src;

///*
// * To change this template, choose Tools | Templates
// * and open the template in the editor.
// */
//package modlem2.source;
//
//import java.io.BufferedInputStream;
//import java.io.BufferedOutputStream;
//import java.io.BufferedReader;
//import java.io.DataInputStream;
//import java.io.DataOutputStream;
//import java.io.File;
//import java.io.FileInputStream;
//import java.io.FileOutputStream;
//import java.io.FileReader;
//import java.io.IOException;
//import java.util.StringTokenizer;
//
///**
// *
// * @author xXx
// */
//public class DrzewoBinarne {
//    
//    
//      public static void main(String[] args) throws IOException {
//          
//  TestujPoKolei.main(args);
//
//  }
//   protected File source;
//
//         
//          
//          Drzewo<String> drzewo = new Drzewo<String>();
//          Node<String> korzen; ;
//          Node<String> n = korzen;
//    public Drzewo<String> zwrocDrzewo(){
//    
//    return drzewo;
//    }
//    
//    public void ustawZrodlo(File we){
//    
//    source = we;
//    }
//    int g = 0;
//    
//    public Node<String> umiescWartosc(Node<String> n,File parametry) throws IOException{
//       if(n==null)
//           n = new Node<String>(null,source);
//        
//       if(g>10)return n;
//        
//                  NajlepszyPodzial np = new NajlepszyPodzial();
//                  PodzialBinarny pb = new PodzialBinarny();
//
//           StringTokenizer std = new StringTokenizer(n.getData(),",");
//        String sciezka = std.nextToken();
//         String [] najlepszyPodzial =
//         np.jakiPodzialBin(new DataInputStream(new BufferedInputStream(
//                 new FileInputStream(sciezka))),
//         new BufferedReader(new FileReader(parametry)));
//
//         left = sciezka + i++;
//         right = sciezka + i++;
//         
// int[] jakPodzielilo = pb.podzialBinarny(new DataInputStream(new BufferedInputStream(
//         new FileInputStream(sciezka))),new BufferedReader(
//                 new FileReader(parametry)),new DataOutputStream(
//                         new BufferedOutputStream(new FileOutputStream(left))),
//                 new DataOutputStream(new BufferedOutputStream(
//                         new FileOutputStream(
//                                 right))),
//                 najlepszyPodzial);
//        
//                 left=left+","+jakPodzielilo[0] +",>=,"+najlepszyPodzial[0]+","+najlepszyPodzial[1];
//            right=right+","+jakPodzielilo[1] +",<,"+najlepszyPodzial[0]+","+najlepszyPodzial[1];
//        n.addChild(left);
//        n.addChild(right);
//           StringTokenizer stl = new StringTokenizer(left, ","),st2 = new StringTokenizer(right,",");
//           stl.nextToken();
//           st2.nextToken();
//           int a = Integer.parseInt(stl.nextToken());
//           int b = Integer.parseInt(st2.nextToken());
//        if(a>100000){
//        g++;
//            umiescWartosc(n= n.getLeftMostChild(),parametry);
//        }
//        else if(b>100000){
//            g++;
//            umiescWartosc(n= n.getRightSibling(),parametry);
//        }
//        else
//        {
//        g++;
//         n= n.getParent().getRightSibling();
//        try{
//        System.out.println(n.getChild(0).getData());
//        
//        }catch(IndexOutOfBoundsException e){
//        System.out.println("O KURWA!!!!!!!!!\nO KURWA!!!!!!!!!\nO KURWA!!!!!!!!!\nO KURWA!!!!!!!!!\nO KURWA!!!!!!!!!\nO KURWA!!!!!!!!!\nO KURWA!!!!!!!!!\nO KURWA!!!!!!!!!\nO KURWA!!!!!!!!!\n IndexOut" );
//        umiescWartosc( n= n.getRightSibling(),parametry);
//            
//        }
//        catch( NullPointerException e){
//        System.out.println("O KURWA!!!!!!!!!\nO KURWA!!!!!!!!!\nO KURWA!!!!!!!!!\nO KURWA!!!!!!!!!\nO KURWA!!!!!!!!!\nO KURWA!!!!!!!!!\nO KURWA!!!!!!!!!\nO KURWA!!!!!!!!!\nO KURWA!!!!!!!!!\nNullPointer");
//        
//        
//        }
//       
//        }
//
//
//        return n;
//    }
//        
//        
//
//                   String left ;
//                   String right;
//      
//     //   ArrayList<String> array1 = new ArrayList<String>(),array2,array3,array4;//Przechowywane beda sciezki do plikow ktore beda usowane
////    public void root (String input,String output, File parametry, int ileRekordow) throws IOException{
////    
////   
////          NajlepszyPodzial np = new NajlepszyPodzial();
////           PodzialBinarny pb = new PodzialBinarny();
////DrzewoBinarne db = new DrzewoBinarne();
////           
////   
////         // while(true){}
////    
////    int i=0;
////left = output+i++;
////right = output+i++;
////
//////int[] podzial = branch(input, np, pb, parametry, sciezkaLewa, sciezkaPrawa);
////
////db.umiescWartosc(n, parametry);
////
////    }
//    int i=0;
//    
//    
////    public int[] branch(String input ,NajlepszyPodzial np,
////            PodzialBinarny pb,File parametry,String plik1,String plik2) 
////            throws IOException{
////    
//////        
//// String [] najlepszyPodzial =
////         np.jakiPodzialBin(new DataInputStream(new BufferedInputStream(
////                 new FileInputStream(input))),
////         new BufferedReader(new FileReader(parametry)));
////
//// int[] jakPodzielilo = pb.podzialBinarny(new DataInputStream(new BufferedInputStream(
////         new FileInputStream(input))),new BufferedReader(
////                 new FileReader(parametry)),new DataOutputStream(
////                         new BufferedOutputStream(new FileOutputStream(plik1))),
////                 new DataOutputStream(new BufferedOutputStream(
////                         new FileOutputStream(
////                                 plik2))),
////                 najlepszyPodzial);
//// 
//// 
//// 
//// 
//// return jakPodzielilo;
////    }
//    
//    
//    
////    public class Tree {
////    private Node root;
////
////    public Tree(String rootData) {
////        root = new Node();
////        root.data = rootData;
////        root.children = new ArrayList<Node>();
////    }
////
////    private class Node {
////        private String data;
////        private Node parent;
////        private List<Node> children;
//////        
////    }
//    
//    
//    
//    
//    
//    
//    
////}
////
////    public static void main(String[] args) throws IOException {
////    }
//    
//}
